Vers une programmation fonctionnelle en appel par valeur sur systèmes multi-coeurs : évaluation asynchrone et ramasse-miettes parallèle
نویسنده
چکیده
Modern multi-core machines are conceived to efficiently execute explicitly parallel assembly programs. Current technology is moving away from instruction-level parallelism, exploitable without changes in the software, toward task-level parallelism requiring modifications in programs. In this context exploiting parallelism entails either exploiting new parallelizing toolchains, or programming in new (higher-level) languages supporting explicit parallelism. In other words exploiting multi-core machines may follow two different routes: changing the programming model or hiding from the user the complexity of this task by delegating to a compiler the parallelization of a higher-level program, preferably in a declarative style. In either case compiled programs must be efficient on such architectures, hence the efficiency of the language runtime support is also central. In particular, when the language is high-level and provides automatic memory management, the garbage collector risks to be the bottleneck limiting the overall performance gain. This paper is an experience report on the association of two softwares which we have implemented, an interpreter for a functional language augmented by a construct for asynchrone computations and a garbage collector for parallel machines. The two tools combined provide the user (be it a human or a compiler), a way to exploit the hardware parallelism of a shared-memory multi-processor machine with a declarative and essentially functional programming style. MOTS-CLÉS : multi-coeur, future, ramasse-miettes, programmation fonctionnelle
منابع مشابه
Programmation orientée-agent : évaluation comparative d'outils et environnements
RÉSUMÉ. Cet article propose une évaluation de différents outils de programmation et environnements de développement orientés-agents. L’évaluation se base sur un ensemble de critères déterminés à partir des caractéristiques jugées importantes pour les environnements de développement de systèmes multi-agents. Une justification des caractéristiques et des différents critères est donnée. Une grille...
متن کاملSynthèse de types pour Bulk Synchronous Parallel ML
Bulk Synchronous Parallel ML ou BSML est une extension de ML pour la programmation fonctionnelle en mode direct d’algorithmes parallèles BSP (Bulk Synchronous Parallelism). Le modèle de programmation parallèle BSP a été introduit par Valiant au début des années 90 [21] afin d’offrir à la fois un haut degré d’abstraction comme les modèles PRAM [4] tout en étant portable et en permettant la prévi...
متن کاملReactiveML, un langage fonctionnel pour la programmation réactive
RÉSUMÉ. La programmation de systèmes réactifs tels que les simulateurs de systèmes dynamiques ou les jeux vidéo est une tâche difficile. Les techniques classiques pour programmer ces systèmes sont fondées sur l’utilisation de bibliothèques de threads ou de programmation événementielle. Nous introduisons ici le langage REACTIVEML comme une alternative à ces pratiques. Le langage est une extensio...
متن کاملDeterministic execution of synchronous programs in an asynchronous environment
Synchronous reactive formalisms form an appealing programming model for embedded system and Systems-on-Chip (SoC) design. Deploying synchronous programs onto asynchronous distributed execution platforms is an important issue, and has been the topic of substantial research in the past. The point is that signal/event absence in a reaction cannot be taken as granted because of communication latenc...
متن کاملA sparse knapsack algo-tech-cuit and its synthesis
Architectures parallèles, bases de données, réseaux et systèmes distribués Abstract: We systematically derive an improved algorithm (called the sparse algorithm) for the general knapsack problem which has better average case performance than the standard (dense) dynamic programming algorithm. The derivation is based on transformation of the standard recurrences into a stream functional programs...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Stud. Inform. Univ.
دوره 7 شماره
صفحات -
تاریخ انتشار 2009